問題解説: 妖精の国 第一のトラブル
問題文
旅を続ける一行は、通りかかった小さな村に一夜の宿を借りることにした。一軒一軒民家を回っていたが、泊めてもらえるどころか人の姿さえ見当たらなかった。
半ば諦めながら最後の民家の戸を叩くと、赤い帽子を被った男が出てきた。
男は快く一行を受け入れてくれた。家の中で男にこれまでの冒険を話すと、かなり興味を持ったようだった。
男「色々な国でトラブルを解決してきたようだな。それなら、君たちの実力を見せてほしい」
男はそういって銀色の平たい箱を取り出した。
エイト「それは?」
男「これは俺が昔遊んでたサーバさ。CentOSが大好きでね。ちょうどいい、webサーバを構築して見せてくれないか」
エイト「セントオーエス…遷都を応援してるのかしら?」
サーバへのアクセス情報
- サーバ名: centos
- アドレス: centos.1.fy
- ユーザー名: centos
- パスワード: CentOSL0ve
達成すべき事項
- Apache をインストールする。
- hello world! と書かれたファイルを用意し、hello world! をブラウザで表示させる。
解説
この問題文を要約すると、「CentOSが大好きな赤い帽子を被った男に、昔遊んでいたサーバーにWebサーバーを構築してくれと腕試しをされた。」という問題です。
この問題はトラブルシュートというより、おまけの知識問題となっています。
おそらくApacheのインストールを行おうと yum
コマンドを叩くとエラーが返ってきたと思います。
そこでおもむろに cat /proc/version
を叩くと以下の内容が返ってきます。
Linux version 4.13.3-1-ARCH (builduser@tobias) (gcc version 7.2.0 (GCC)) #1 SMP PREEMPT Thu Sep 21 20:33:16 CEST 2017
そうです、実はこのサーバーのOS、CentOSではなくArchLinuxだったのです。
問題文を見ると、CentOSが大好きと言ってはいますが、サーバーのOSがCentOSだとは言ってないですね。
男「これは俺が昔遊んでたサーバさ。CentOSが大好きでね。ちょうどいい、webサーバを構築して見せてくれないか」
サーバ(CentOSとは言ってない) というのに気づければokです。
ArchLinuxでは pacman
をパッケージマネージャとして利用しているので、以下のコマンドを使用することでインストールすることが出来ます。
$ pacman -Syyu apache
また、ArchLinuxではsystemdをinitとして使用しているので、systemctlを使用してサービスを起動します。
$ systemctl start httpd
$ systemctl enable httpd
hello world!
ページですが、 httpd.conf
から DocumentRoot
を探せばindex.html
を置く場所が分かります。
今回は /srv/http
ですので、そこに index.html
を置けば完成です。
$ grep DocumentRoot /etc/httpd/conf/httpd.conf
# DocumentRoot: The directory out of which you will serve your
DocumentRoot "/srv/http"
# access content that does not live under the DocumentRoot.
$ sudo sh -c "echo 'hello world!' > /srv/http/index.html"